package com.eshop.modules.order.service.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.io.Serializable;

public class OrderNowOrderStatusDto implements Serializable
{
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date cacheKeyCreateOrder;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date paySuccess;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deliveryGoods;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderVerific;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date userTakeDelivery;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date checkOrderOver;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date applyRefund;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date refundOrderSuccess;
    private int size;
    
    public Date getCacheKeyCreateOrder() {
        return this.cacheKeyCreateOrder;
    }
    
    public Date getPaySuccess() {
        return this.paySuccess;
    }
    
    public Date getDeliveryGoods() {
        return this.deliveryGoods;
    }
    
    public Date getOrderVerific() {
        return this.orderVerific;
    }
    
    public Date getUserTakeDelivery() {
        return this.userTakeDelivery;
    }
    
    public Date getCheckOrderOver() {
        return this.checkOrderOver;
    }
    
    public Date getApplyRefund() {
        return this.applyRefund;
    }
    
    public Date getRefundOrderSuccess() {
        return this.refundOrderSuccess;
    }
    
    public int getSize() {
        return this.size;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setCacheKeyCreateOrder(final Date cacheKeyCreateOrder) {
        this.cacheKeyCreateOrder = cacheKeyCreateOrder;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setPaySuccess(final Date paySuccess) {
        this.paySuccess = paySuccess;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setDeliveryGoods(final Date deliveryGoods) {
        this.deliveryGoods = deliveryGoods;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setOrderVerific(final Date orderVerific) {
        this.orderVerific = orderVerific;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setUserTakeDelivery(final Date userTakeDelivery) {
        this.userTakeDelivery = userTakeDelivery;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setCheckOrderOver(final Date checkOrderOver) {
        this.checkOrderOver = checkOrderOver;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setApplyRefund(final Date applyRefund) {
        this.applyRefund = applyRefund;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setRefundOrderSuccess(final Date refundOrderSuccess) {
        this.refundOrderSuccess = refundOrderSuccess;
    }
    
    public void setSize(final int size) {
        this.size = size;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof OrderNowOrderStatusDto)) {
            return false;
        }
        final OrderNowOrderStatusDto other = (OrderNowOrderStatusDto)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (this.getSize() != other.getSize()) {
            return false;
        }
        final Object this$cacheKeyCreateOrder = this.getCacheKeyCreateOrder();
        final Object other$cacheKeyCreateOrder = other.getCacheKeyCreateOrder();
        Label_0078: {
            if (this$cacheKeyCreateOrder == null) {
                if (other$cacheKeyCreateOrder == null) {
                    break Label_0078;
                }
            }
            else if (this$cacheKeyCreateOrder.equals(other$cacheKeyCreateOrder)) {
                break Label_0078;
            }
            return false;
        }
        final Object this$paySuccess = this.getPaySuccess();
        final Object other$paySuccess = other.getPaySuccess();
        Label_0115: {
            if (this$paySuccess == null) {
                if (other$paySuccess == null) {
                    break Label_0115;
                }
            }
            else if (this$paySuccess.equals(other$paySuccess)) {
                break Label_0115;
            }
            return false;
        }
        final Object this$deliveryGoods = this.getDeliveryGoods();
        final Object other$deliveryGoods = other.getDeliveryGoods();
        Label_0152: {
            if (this$deliveryGoods == null) {
                if (other$deliveryGoods == null) {
                    break Label_0152;
                }
            }
            else if (this$deliveryGoods.equals(other$deliveryGoods)) {
                break Label_0152;
            }
            return false;
        }
        final Object this$orderVerific = this.getOrderVerific();
        final Object other$orderVerific = other.getOrderVerific();
        Label_0189: {
            if (this$orderVerific == null) {
                if (other$orderVerific == null) {
                    break Label_0189;
                }
            }
            else if (this$orderVerific.equals(other$orderVerific)) {
                break Label_0189;
            }
            return false;
        }
        final Object this$userTakeDelivery = this.getUserTakeDelivery();
        final Object other$userTakeDelivery = other.getUserTakeDelivery();
        Label_0226: {
            if (this$userTakeDelivery == null) {
                if (other$userTakeDelivery == null) {
                    break Label_0226;
                }
            }
            else if (this$userTakeDelivery.equals(other$userTakeDelivery)) {
                break Label_0226;
            }
            return false;
        }
        final Object this$checkOrderOver = this.getCheckOrderOver();
        final Object other$checkOrderOver = other.getCheckOrderOver();
        Label_0263: {
            if (this$checkOrderOver == null) {
                if (other$checkOrderOver == null) {
                    break Label_0263;
                }
            }
            else if (this$checkOrderOver.equals(other$checkOrderOver)) {
                break Label_0263;
            }
            return false;
        }
        final Object this$applyRefund = this.getApplyRefund();
        final Object other$applyRefund = other.getApplyRefund();
        Label_0300: {
            if (this$applyRefund == null) {
                if (other$applyRefund == null) {
                    break Label_0300;
                }
            }
            else if (this$applyRefund.equals(other$applyRefund)) {
                break Label_0300;
            }
            return false;
        }
        final Object this$refundOrderSuccess = this.getRefundOrderSuccess();
        final Object other$refundOrderSuccess = other.getRefundOrderSuccess();
        if (this$refundOrderSuccess == null) {
            if (other$refundOrderSuccess == null) {
                return true;
            }
        }
        else if (this$refundOrderSuccess.equals(other$refundOrderSuccess)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof OrderNowOrderStatusDto;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        result = result * 59 + this.getSize();
        final Object $cacheKeyCreateOrder = this.getCacheKeyCreateOrder();
        result = result * 59 + (($cacheKeyCreateOrder == null) ? 43 : $cacheKeyCreateOrder.hashCode());
        final Object $paySuccess = this.getPaySuccess();
        result = result * 59 + (($paySuccess == null) ? 43 : $paySuccess.hashCode());
        final Object $deliveryGoods = this.getDeliveryGoods();
        result = result * 59 + (($deliveryGoods == null) ? 43 : $deliveryGoods.hashCode());
        final Object $orderVerific = this.getOrderVerific();
        result = result * 59 + (($orderVerific == null) ? 43 : $orderVerific.hashCode());
        final Object $userTakeDelivery = this.getUserTakeDelivery();
        result = result * 59 + (($userTakeDelivery == null) ? 43 : $userTakeDelivery.hashCode());
        final Object $checkOrderOver = this.getCheckOrderOver();
        result = result * 59 + (($checkOrderOver == null) ? 43 : $checkOrderOver.hashCode());
        final Object $applyRefund = this.getApplyRefund();
        result = result * 59 + (($applyRefund == null) ? 43 : $applyRefund.hashCode());
        final Object $refundOrderSuccess = this.getRefundOrderSuccess();
        result = result * 59 + (($refundOrderSuccess == null) ? 43 : $refundOrderSuccess.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "OrderNowOrderStatusDto(cacheKeyCreateOrder=" + this.getCacheKeyCreateOrder() + ", paySuccess=" + this.getPaySuccess() + ", deliveryGoods=" + this.getDeliveryGoods() + ", orderVerific=" + this.getOrderVerific() + ", userTakeDelivery=" + this.getUserTakeDelivery() + ", checkOrderOver=" + this.getCheckOrderOver() + ", applyRefund=" + this.getApplyRefund() + ", refundOrderSuccess=" + this.getRefundOrderSuccess() + ", size=" + this.getSize() + ")";
    }
}
